package com.moli.iov.sys.constants;

/**
 * <p>
 * 常量
 * </p>
 *
 * @author zql
 * @since 2019/9/5 12:15
 */
public class Constant {

  /**
   * redis 缓存前缀
   */
  public static final String REDIS_PREFIX = "IOV:SERVICE:SYS:";

  /**
   * 登录用户权限
   */
  public static final String DEFAULT_PERMISSION = REDIS_PREFIX + "PERMISSION:";

  /**
   * 账号对应的最新的token
   */
  public static final String LOGIN_NEW_TOKEN = REDIS_PREFIX + "ACCOUNT:TOKEN:";

  /**
   * 缓存 登录用户user key
   */
  public static final String DEFAULT_USER = REDIS_PREFIX + "USER:";

  /**
   * request中account key
   */
  public static final String DEFAULT_REQUEST_PERMISSION = "ACCOUNT";

  /**
   * 登出 token 缓存key
   */
  public static final String LOGOUT_KEY = REDIS_PREFIX + "LOGOUT:";

  /**
   * 客户唯一凭证密钥 长度
   */
  public static final int APP_SECRET_LENGTH = 16;

  /**
   * 默认权限父ID
   */
  public static final Long PID_DEFAULT = 0L;

  /**
   * 用户密码长度
   */
  public static final int PWD_LENGTH = 8;

  /**
   * token有效时长 5 小时
   */
  public static final Long TOKEN_EXPIRATION = 1000L*60*60*5;
  /**
   * 企业超级管理员
   */
  public static final String SUPER_ADMIN_ROLE_NAME = "超级管理员";

  /**
   * 企业超级管理员 说明
   */
  public static final String SUPER_ADMIN_ROLE_MEMO = "系统自动创建";

  /**
   * pid 值
   */
  public static final Long PID = 0L;

  /**
   * 登出token多缓存 7天
   */
  public static final long LOGOUT_CACHE_TIME = 60 * 60 * 24 * 7L;
}
